ক্লোজার (Clojure) প্রোগ্রামিং ভাষায় ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা সাধারণ ইনপুট-আউটপুট (I/O) অপারেশনগুলির মধ্যে পড়ে। ক্লোজারে java.io
লাইব্রেরি ব্যবহার করে সহজেই ফাইল I/O অপারেশন সম্পন্ন করা যায়। ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখার জন্য ক্লোজারে কিছু সাধারণ পদ্ধতি নিচে আলোচনা করা হলো।
ফাইল থেকে ডেটা পড়ার জন্য ক্লোজারে slurp
ফাংশন ব্যবহার করা হয়, যা সম্পূর্ণ ফাইলের কনটেন্ট একবারে পড়ে একটি স্ট্রিং হিসেবে ফেরত দেয়।
slurp
দিয়ে ফাইল পড়াধরা যাক, আমাদের একটি example.txt
নামের ফাইল আছে যার মধ্যে কিছু লেখা রয়েছে। এই ফাইল থেকে ডেটা পড়ার জন্য নিচের কোডটি ব্যবহার করা যেতে পারে:
(def file-content (slurp "example.txt"))
(println file-content)
এখানে slurp
ফাংশন example.txt
ফাইলের কনটেন্ট পড়ে এবং file-content
ভ্যারিয়েবলে সংরক্ষণ করে। তারপর println
দিয়ে এটি প্রিন্ট করা হয়।
ফাইলে ডেটা লেখার জন্য ক্লোজারে spit
ফাংশন ব্যবহার করা হয়, যা নির্দিষ্ট ফাইলে একটি স্ট্রিং রচনা বা সংরক্ষণ করে। spit
ফাংশন ফাইলে নতুন কনটেন্ট লিখতে বা আগের কনটেন্টের শেষে যোগ করতে পারে।
spit
দিয়ে ফাইলে লেখানিচের উদাহরণটি দেখায় কিভাবে output.txt
ফাইলে ডেটা লেখা যায়:
(spit "output.txt" "This is a sample text.")
এখানে, spit
ফাংশন output.txt
নামের ফাইলে "This is a sample text."
লেখে। যদি output.txt
ফাইলটি আগে থেকেই বিদ্যমান থাকে, তাহলে এটি পুরানো কনটেন্ট মুছে ফেলে নতুন কনটেন্ট যুক্ত করবে।
ফাইলে বিদ্যমান ডেটার শেষে নতুন ডেটা যোগ করতে :append true
বিকল্পটি ব্যবহার করা হয়:
(spit "output.txt" "\nAdding more text." :append true)
এই কোডটি output.txt
ফাইলের বিদ্যমান কনটেন্টের শেষে "Adding more text."
যোগ করবে।
যদি ফাইলটি বড় হয় এবং slurp
বা spit
ব্যবহার উপযোগী না হয়, তাহলে BufferedReader
এবং BufferedWriter
ব্যবহার করা যেতে পারে।
BufferedReader
দিয়ে ফাইল পড়া(import '[java.io BufferedReader FileReader])
(with-open [reader (BufferedReader. (FileReader. "example.txt"))]
(doseq [line (line-seq reader)]
(println line)))
এখানে, BufferedReader
এবং FileReader
ব্যবহার করে প্রতিটি লাইন আলাদা করে পড়া হচ্ছে। with-open
ফাংশন ফাইল বন্ধ করার দায়িত্বও নিজে থেকে গ্রহণ করে।
BufferedWriter
দিয়ে ফাইলে লেখা(import '[java.io BufferedWriter FileWriter])
(with-open [writer (BufferedWriter. (FileWriter. "output.txt"))]
(.write writer "Writing to file with BufferedWriter."))
এখানে, BufferedWriter
এবং FileWriter
ব্যবহার করে output.txt
ফাইলে ডেটা লেখা হচ্ছে।
ক্লোজারে ফাইল I/O অপারেশনগুলির জন্য সাধারণত slurp
এবং spit
ফাংশন যথেষ্ট, যা সহজ এবং দ্রুত ফাইল পড়া এবং লেখার সুবিধা দেয়। বড় ফাইলের ক্ষেত্রে BufferedReader
এবং BufferedWriter
ব্যবহার করা হয়, যা প্রোগ্রামের কার্যক্ষমতা বাড়ায় এবং মেমোরি ব্যবহারে সাশ্রয়ী হয়।
ফাংশন | কাজ |
---|---|
slurp | সম্পূর্ণ ফাইল পড়ে একটি স্ট্রিং রিটার্ন করে |
spit | ফাইলে ডেটা লেখে |
BufferedReader | বড় ফাইলের প্রতিটি লাইন আলাদা করে পড়ে |
BufferedWriter | বড় ফাইলে ডেটা লেখার জন্য কার্যকর |
এই ফাংশন ও পদ্ধতিগুলি ব্যবহার করে ক্লোজারে সহজেই ফাইল ইনপুট-আউটপুট কাজ সম্পন্ন করা যায়।
common.read_more